﻿
namespace XNAGuiLib.Core.Utilities
{
    public class Enums
    {
        // Frame Enums
        #region Enumeration - Enums.FrameHeadStyle
        /// <summary>
        /// enumeration for style of the head of a Frame-object
        /// </summary>
        public enum FrameHeadStyle
        {
            /// <summary>
            /// the default style (smallest) no title
            /// </summary>
            Normal,
            /// <summary>
            /// a medium style (middle) with title
            /// </summary>
            Medium,
            /// <summary>
            /// a large style (largest) with title
            /// </summary>
            Large
        }
        #endregion

        // MouseAction Enums
        #region Enumeration - Enums.MouseKeyPositions
        /// <summary>
        /// position of the mouse key of an action (down, released or pressed)
        /// </summary>
        public enum MouseKeyPositions
        {
            /// <summary>
            /// the mouse key is down in current state
            /// </summary>
            Down,
            /// <summary>
            /// the mouse key is released (default value of a mouse key)
            /// </summary>
            Released,
            /// <summary>
            /// the mouse key is down in last und released in current state
            /// </summary>
            Pressed
        }
        #endregion

        #region Enumeration - Enums.MouseKeys
        /// <summary>
        /// mouse keys to use as trigger condition in MouseActions
        /// </summary>
        public enum MouseKeys
        {
            /// <summary>
            /// the left mouse key
            /// </summary>
            Left,
            /// <summary>
            /// the middle mouse key (press on the wheel)
            /// </summary>
            Middle,
            /// <summary>
            /// the right mouse key
            /// </summary>
            Right,
            /// <summary>
            /// the scroll wheel (for scrolling not clicking)
            /// </summary>
            Wheel,
            /// <summary>
            /// the xbutton1 (additional button not on all mouses)
            /// </summary>
            XButton1,
            /// <summary>
            /// the xbutton2 (additional button not on all mouses)
            /// </summary>
            XButton2
        }
        #endregion

        // KeyModifier Enums
        #region Enumeration - Enums.KeyboardKeyPositions
        /// <summary>
        /// position of the keyboard key of an action (down, released or pressed)
        /// </summary>
        public enum KeyboardKeyPositions
        {
            /// <summary>
            /// the mouse key is down in current state
            /// </summary>
            Down,
            /// <summary>
            /// the mouse key is up (default value of a keyboard key)
            /// </summary>
            Up,
            /// <summary>
            /// the mouse key is down in last und released in current state
            /// </summary>
            Pressed
        }
        #endregion


        // Window Enums
        #region Enumeration - Enums.WindowState
        /// <summary>
        /// enumeration for states of a window object
        /// </summary>
        public enum WindowState
        {
            /// <summary>
            /// state of minimized window
            /// </summary>
            Minimized,
            /// <summary>
            /// state of normal window
            /// </summary>
            Normal,
            /// <summary>
            /// state of maximized window
            /// </summary>
            Maximized
        }
        #endregion

        // Slider Enums
        #region Enumeration - Enums.SliderOrientation
        public enum SliderOrientation
        {
            /// <summary>
            /// horizontal orientation for a slider
            /// </summary>
            Horizontal = 'h',
            /// <summary>
            /// vertical orientation for a slider
            /// </summary>
            Vertical = 'v'
        }
        #endregion


        #region Enumeration - Enums.RCM
        /// <summary>
        /// enumeration for the different ResourceContentManager embedded in the XNAGuiLib (using prebuild/embedded .xnb files)
        /// </summary>
        public enum RCM
        {
            /// <summary>
            /// ResourceManager for all Fonts used in the XNAGuiLib
            /// </summary>
            Font,
            /// <summary>
            /// ResourceManager for all 'default'-style related graphics used in the XNAGuiLib
            /// </summary>
            Vista_Graphit
        }
        #endregion

    }
}